1. Field of the Invention
The invention relates to a processing device, including    a processing unit,    a memory for storing instructions for the processing unit,    a read unit for reading instructions from the memory in a logic sequence and for applying the instructions to the processing unit so as to be executed in the logic sequence.
2. Related Art
A processing device of this kind is known from International Patent Application No. WO 93/14457. During the execution of a program successive instructions are loaded from the memory into the processing unit so as to be executed. Contemporary processing units, however, are capable of executing the instructions faster, generally speaking, than the instructions can be read from the memory. Therefore, if no special steps are taken, the memory is a restrictive factor in respect of the overall speed of the processing device. This problem is called the “memory bottleneck”.
A number of steps for circumventing the memory bottleneck are known from prior art. For example, “caching” techniques are known. Caching utilizes a fast cache memory which saves instructions which are anticipated to be executed by the processing unit according to a cache strategy. The cache memory is comparatively expensive, because it must be sufficiently fast to read an instruction per instruction cycle of the processing unit. Furthermore, caching techniques are generally very complex and hence require a substantial circuit overhead.
From prior art it is also known to make the memory much wider than necessary for reading a single instruction. This means that a plurality of successive instructions can be simultaneously read in parallel in one read cycle of the memory. These instructions are stored in a prefetch buffer which can be very rapidly read, after which they are successively applied to the processing unit. While the processing unit executes the plurality of instructions from the prefetch buffer, subsequently a new memory read cycle is started for a next plurality of instructions. When N instructions are simultaneously read from the memory, in optimum circumstances the effective speed of the memory is thus increased by a factor N so that the memory need no longer be the restrictive factor in respect of speed of the processing device. This technique offers optimum results only if the processing unit executes instructions in a “logic” sequence (which means a sequence which is defined by the read unit without being readjusted by the processing unit). This is normally the case. However, the instructions executed by the processing unit may also include branch instructions which give rise to a different instruction execution sequence. Due to a branch instruction, therefore, a part of the content of the prefetch buffer (after an outgoing branch or before an incoming branch) is then useless. The already started reading of the memory is then also useless. This again limits the speed of the processor.